Two-phase editing of signal data

ABSTRACT

Tools and techniques are provided to allow the user of a signal editing application to retain control over individual changes, while still relieving the user of the responsibility of manually identifying problems. Specifically, tools and techniques are provided which separate the automated finding of potential problems from the automated correction of those problems. Thus, editing is performed in two phases, referred to herein as the “analysis” phase and the “action” phase. During the analysis phase, the signal editing application automatically identifies target areas within the signal that may be of particular interest to the user. During the “action” phase, the user is presented with the results of the analysis phase, and is able to decide what action to take relative to each target area.

FIELD OF THE INVENTION

The present invention relates to digital editing and, more specifically,to editing signal data.

BACKGROUND

It is desirable, in a variety of contexts, to capture signals. Thenature of the signals may vary from context to context. For example, ina medical context, it may be desirable to capture signals that representheart activity. In the context of sound studios, it may be desirable tocapture audio signals produced by music artists. The techniquesdescribed herein are not limited to any particular type of recordedsignal. The digital representation of a signal is referred to herein as“signal data”.

For a variety of reasons, it may be desirable to edit the signal dataafter a signal has been digitally recorded. For example, an audiorecording of a lecture may include a cough that should be removed. Inaddition to problems created by the recording environment (such as acoughing audience), the recording process itself may introduce problems,such as hissing or popping noises, that should be removed from therecording.

Many signal editing applications are available for performingpost-recording edits to a captured signal. In the context of audiosignals, many audio editing applications allow a user to listen to theaudio. While the audio is being played, the user is presented with avisual representation of the signal, with an indication of the location,within the signal, that is currently being played. While listening tothe audio and watching the visual representation of the signal, the usermay identify a problem that requires fixing. For example, the user mayhear a “cough”, and see a spike that represents the cough in the visualrepresentation of the signal. The user may then use a tool provided bythe editing application to correct the problem. For example, the usermay replace the portion of the signal that contains the cough with anambient noise print, as described in U.S. patent application Ser. No.11/104,995, filed on Apr. 12, 2005, the contents of which areincorporated herein by this reference.

Some sophisticated signal editing applications may even provide errorcorrection tools that do not require the user to identify the locationof the problem. For example, a sound editing application may simply havea “remove pops” option. When selected, the “remove pops” tool attemptsto find and remove all “pops” in the recorded signal. While such toolsrelieve the user of the responsibility of finding the “pops”, they do soby reducing the user's control over the editing process. For example,the “remove pops” tool may remove some sounds that the user wants tokeep in the signal, and may leave in some sounds that should be removed.No matter how accurate the tool is, it cannot be guaranteed to performall of the edits the user desires, and only those edits that the userdesires.

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1 is a flowchart illustrating steps performed during the analysisphase and the action phase of a two-phase editing process, according toan embodiment of the invention;

FIG. 2 is a block diagram of an interface that includes controls forspecifying which analysis processes to execute during the analysisphase, according to an embodiment of the invention;

FIG. 3 is a block diagram of a Result List interface, according to anembodiment of the invention;

FIG. 4 is a block diagram that illustrates how the portions of thesignal that correspond to target areas may be highlighted in thedepiction of the signal, according to an embodiment of the invention;

FIG. 5 is a block diagram that illustrates a Result List element,according to an embodiment of the invention;

FIG. 6 is a block diagram that illustrates how the portion of the signalthat corresponds to a target area associated with a selected element maybe highlighted in the depiction of the signal, according to anembodiment of the invention;

FIG. 7 is a block diagram that illustrates another way that the portionof the signal that corresponds to a target area associated with aselected element may be highlighted in the depiction of the signal,according to an embodiment of the invention;

FIG. 8 is a block diagram that illustrates a Magnify Button, accordingto an embodiment of the invention;

FIG. 9 is a block diagram that illustrates a “zoomed-in” depiction ofthe portion of the signal that corresponds to the target area associatedwith a selected element, according to an embodiment of the invention;

FIG. 10 is a block diagram of a Fix All button, according to anembodiment of the invention; and

FIG. 11 is a block diagram of a computer system upon which embodimentsof the invention may be implemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

Overview

Tools and techniques are provided to allow the user of a signal editingapplication to retain control over individual changes, while stillrelieving the user of the responsibility of manually identifyingproblems. Specifically, tools and techniques are provided which separatethe automated finding of potential problems from the automatedcorrection of those problems. Thus, editing is performed in two phases,referred to herein as the “analysis” phase and the “action” phase.

During the analysis phase, the signal editing application automaticallyidentifies portions of the signal that may be of particular interest tothe user. The portions thus identified are referred to herein as “targetareas”. The target areas may correspond to potential problems (such as a“pop” in an audio signal), or that have characteristics that the usermay be interested in (such as periods of “silence”). During the analysisphase, the signal editing application generates and stores informationabout the target areas, but does not actually edit the signal.

During the “action” phase, the user is presented with the results of theanalysis phase, and is able to decide what action to take relative toeach target area. As shall be described in greater detail hereafter,various tools are provided to assist the user in deciding which actionto take relative to any given target area, and in automaticallyperforming the desired action.

Overview of Two-Phase Editing

Referring to FIG. 1, it is a flowchart that illustrates the generalsteps involved in each of the phases of an analysis/action editingoperation, according to an embodiment of the invention. The analysisphase is initiated (step 100) in response to user input received throughthe interface of the signal editing tool. The signal editing applicationthen automatically analyzes the signal data to identify target areas(step 102). During step 102, several different analysis processes may berun against the signal data, where each analysis process selects targetareas based on different selection criteria.

Based on the information from the analysis, the signal editing tool thenbuilds a result list (step 104). According to one embodiment, the resultlist includes entries for each target area identified during theanalysis, where the entry for a given target area indicates informationabout the target area, including an indication of the specific analysisprocess that selected the target area. At the end of the analysis phase(step 106), the result list has been created, but no changes have beenmade to the signal itself.

At step 110, the action phase begins when the user initiates a “find andfix” session. During the find and fix session, the signal editing toolwaits for the user to select one or more elements in the result list(step 112). When the user has selected one or more elements, the visualdisplay of the signal is modified (step 114) to highlight the targetareas that correspond to the selected elements. For example, the portionof the visual depiction of the signal that corresponds to a selectedtarget area may be shown in a different color than the color used forthe rest of the visual depiction of the signal.

At step 116, the user may select a tool to zoom in on the portion of thevisual depiction of the signal that corresponds to a selected element.At step 118, the user may edit the signal as the user deems appropriate.According to one embodiment, the editing of the signal is facilitated byallowing the user to select a control to activate an automated editingoperation (step 120). The control that the signal editing applicationpresents to the user may be based on the nature of the selected element.For example, if the selected element corresponds to a target area that,during the analysis, was identified as a “click”, then the controlpresented to the user would be a control for activating an automatedclick removal operation.

According to one embodiment, any automated editing operation that isactivated at step 120 is applied only to the target areas thatcorrespond to the currently selected elements in the result list. Thus,even though the result list may include dozens of elements thatcorrespond to “clicks” within the digital signal, activation of theclick removal operation in step 120 will cause the automated removal ofonly those clicks that correspond to currently selected elements in theresult list.

At step 122, the user may quit the interactive session. If the user doesnot quit, then control returns to step 112, where the user may select anew set of elements from the result list.

The Analysis Phase

As mentioned above, before any interactive work begins, an analysisprocedure is performed. The analysis procedure creates the Result List.The user then interacts with the Result List to investigate potentialareas of interest in the signal and make decisions about how to react.

More than one type of analysis can be run during the analysis phase. Forexample, a signal editing application designed for audio signals mayperform click and pop detection, hum detection, DC offset detection,phase problem detection, clipped signal detection and silence detection.Each of these analysis processes applies its own distinct selectioncriteria. As a result, there may or may not be overlap between thetarget areas identified during the analysis phase. These are merelyexamples of the types of analysis that may be performed in the contextof audio signal editing. The techniques described herein are not limitedto any particular type of analysis. Further, the types of analysis willvary from context to context. Thus, the characteristics of signalportions that may be of interest to a user editing the recording of anelectrocardiogram may be completely different than the characteristicsof signal portions that are of interest to a user editing a musicrecording.

According to one embodiment, the signal editing application provides theuser with controls for selecting which types of analysis are to beperformed during the analysis phase. FIG. 2 is a block diagram thatillustrates controls that may be presented to the user of an audiosignal editing application, for example. As illustrated in FIG. 2, sometypes of analyses may have user-adjustable parameters. Preferably, theuser is provided controls for specifying such parameters. In theillustrated example, the interface includes a slide control that allowsthe user to specify a “Threshold” parameter for both the “clicks andpops” analysis and the “silence” analysis.

Typically, the analysis processes provided by a tool will be designed todetect potential problems in the signal. However, the analysis toolsneed not be limited to the detection of potential problems. Rather,analysis processes may be provided for any type of area of potentialinterest, such as non-negative events like “silence” in an audio signal.

The Result List

As mentioned above, the target areas discovered by analysis during theanalysis phase are added to a “Result list”. A user interface thatcontains the results list information is presented to the user. Duringthe action phase, the results list interface is a tool through which theuser may perform a variety of actions, as shall be described in greaterdetail hereafter.

FIG. 3 is a block diagram of a results list interface 300, as may beprovided in an audio signal editing application. Results list interface300 includes several list elements. Each list element corresponds to atarget area of the signal, and contains information about thecorresponding target area. The information that is contained in the listelement for a target area may vary from implementation toimplementation. The techniques described herein are not limited to anyparticular type of information. Such information may include, forexample, an indication about which analysis process detected the targetarea, the length of the target area, and the location of the target areawithin the signal.

In the illustrated results list interface 300, the results list entryfor each target area includes a status field, a problem field, a startfield, a length field and a channels field. These fields are also shownin FIG. 5. The status field shows whether the problem is fixed or notfixed. At the start of the action phase, none of the problems that aredetected during the analysis will have been fixed, so the status fieldfor all entries will initially indicate that they are not fixed.

The problem field describes what the corresponding target arearepresents. For example, if the corresponding target area was detectedby the “silence” analysis process, then the problem field may indicatethat the corresponding target area is “silence”.

The Start field shows the point, within the signal data, at which thetarget area begins. The Length field shows the duration of thecorresponding target area. The Channels field shows whether the problemoccurs in a specific signal channel. For audio, this is often the leftchannel (L), the right channel (R), or both channels (LR) of a stereoaudio file.

The illustrated results list interface 300 also includes several buttoncontrols 302, 304, 306 and 308. As shall be described in greater detailhereafter, these controls may be selected to invoke operations thatassist the user during the interactive editing of the signal during theaction phase.

Visually Highlighting Target Areas

According to one embodiment, when the list is created, target areas thatcorrespond to each list element are also highlighted in the visualdepiction of the signal. The manner in which the target areas arehighlighted may vary from implementation to implementation. For example,the portion of the signal that corresponds to target areas may bedisplayed in a different color than the color used to depict the rest ofthe signal.

FIG. 4 is an example of a signal display that includes a Result Listinterface and a visual depiction of a signal. In the visual depiction ofthe signal, the portions of the signal that correspond to the items inthe Result List are depicted differently to visually distinguish thetarget areas from the rest of the depicted signal.

In addition to visually highlighting all target areas, the signalediting application may be designed to provide visual highlighting ofuser selected target areas. Specifically, in one embodiment, when a userselects an item in the Result List interface, the part of the depictedsignal that corresponds to the selected item becomes highlighted (e.g.red) in the waveform display, making it easy to see where in the signaldepiction the problem occurs. If multiple items are selected from theResult List interface, then the parts of the depicted signal to whichany of the selected problems apply become highlighted (e.g. red).

FIGS. 6 and 7 illustrate the visual depiction of a signal in which theportion of the signal that corresponds to a selected item in the ResultList interface is highlighted. In FIG. 6, the portion of the signal thatcorresponds to a selected item is drawn in a different color than therest of the signal. In FIG. 7, both the foreground and background colorsof the depiction of the signal have been changed to highlight theportion of the signal that corresponds to the selected result list item.

User Interaction with Selected Target Area

One the Result List has been generated and the Result List interface hasbeen displayed, the user may begin the action phase of the editingoperation. During the action phase, the user determines which action, ifany, to take relative to the items identified in the result list.

According to one embodiment, various controls are provided to assist theuser to determine what action is appropriate for a given result setitem. The controls will vary based on the nature of the signal that isbeing edited. In the context of editing an audio signal, for example,the user may be presented with a control for playing the portion of theaudio signal that corresponds to a selected result list item. Theplayback operation may be designed to include a portion of the signalthat immediately precedes the corresponding target area, and a portionof the signal that immediately follows the corresponding target area, sothat the user can hear the target area in context.

In one embodiment, the controls include a Magnify button to facilitate azoom operation. Activation of the Magnify button, illustrated in FIGS. 3and 8, causes the visual depiction of the signal to “zoom in” on theportion of the signal that corresponds to a Result List item. In oneembodiment, pressing down on the Magnify button zooms in on thecorresponding target area, and releasing the Magnify button returns tothe un-zoomed depiction of the signal. However, if a particular keyboardbutton is pressed when the Magnify button is selected, then the zoomeddepiction of the signal continues to be displayed when the Magnifiedbutton is released. Because the length of target portions may vary, thedegree of magnification used by the zoomed-in display generated byactivating the Magnify button will also vary. Specifically, thezoomed-in display of a short target area will used a higher degree ofmagnification than the zoomed-in display of a longer target area.

In one embodiment, if a particular keyboard button is pressed when theMagnify button is selected, then the zoomed-in display includes only theportion of the signal that was identified as a possible defect. If thatparticular keyboard button is not selected, then the zoomed-in displayincludes a portion of the signal immediately preceding, and immediatelyfollowing, the possible defect. According to one embodiment, this actionof “zooming in” on the “problem area” may be activated in a variety ofways, such as clicking on the Result list entry associated with theproblem. In one embodiment, clicking without pressing the option keyselects the problem area and ½ second on either side of the problemarea, and click-option selects just the problem area itself.

Another control that the signal editing application may provide to theuser is a “defect only” button. Selection of the defect only buttoncauses the signal editing application to display and/or play back afiltered version of the target area of a selected Result List item.Specifically, the target area is filtered so that all that remains isthe portion of the signal that was identified as a defect. By filteringout the rest of the signal and listening to the alleged defect, the usermay be able to better tell whether the alleged defect is in fact adefect.

For example, assume that the Result List interface contains an entry fora target area that, during the analysis phase, was identified as a “popand click”. The user may select the item from the Result List interface,and select the “defect only” button. In response, the signal editingapplication filters the target area and plays only the data that wasconsidered to be a “click”. Because the other content in the target areais filtered out, the playback of the “click” may be clear enough for theuser to easily tell whether the click is in fact a defect. The defectonly option allows the user to easily isolate false positives, such aswhen the “click” is actually a musician clicking her fingers, ratherthan a recording defect.

Consolidating the Display of Problems

According to one embodiment, when there are a large number of closelypositioned problems, the signal editing application will coalesce theclosely positioned problems into a single problem for display. As aresult of the consolidation, it is easier for the end user to navigatethrough the problems, though internally the fixes are appliedindividually. An example of this can occur when an analog recording iscaptured and analyzed for clicks/pops. There may be dozens of pops perSECOND. Rather than display a separate results list entry for each ofthe dozen pops that occur within a given second of signal, a singleentry may be displayed to represent all of them.

Editing Selected Target Areas

The tools described above assist the user in determining whether, forany given target area, an editing operation is needed. In addition totools that assist the user in determining whether an editing operationis needed, the signal editing tool includes controls for automaticallyperforming certain types of editing operations.

According to one embodiment, the signal editing application gives theuser three options for each element in the Result List:

Ignore the item in the Result List

Manually alter the waveform using the complete set of waveform editoroperations in the product.

Automatically process with suggested DSP for the item in the ResultList.

In the embodiment illustrated in FIG. 3, a Fix button is provided. Theaction performed when the Fix button is activated depends on the natureof the selected Result List item. For example, if the selected ResultList item is a “Click/Pop” item, then the signal editing applicationperforms an operation for removing Click/Pops from the correspondingtarget area of the signal. On the other hand, if the selected ResultList item is a “silence” item, then the signal editing application mayadd ambient noise to the corresponding target area of the signal.

If multiple items are selected in the Result List, then the target areasthat correspond to all selected items are highlighted, and the fixbutton will apply to the all of the items. If the selected items are notthe same type of items (e.g. some are “silence” and others “Click/Pop”),then the signal editing application will select the operation to performon each corresponding target area based on the type of the selecteditem.

The embodiment illustrated in FIG. 3 also includes a “Fix All” buttonthat causes the digital signal editing application to perform the“Automatically process with suggested DSP” for every element in theResult List. In the case of Fix All, all are target areas are fixedregardless of whether the user had selected the corresponding ResultList entries.

According to one embodiment, a “preview fixed” control is also provided.In response to activation of the “preview fixed” control, a copy is madeof the signal within the target area associated with the selected ResultList item, and the appropriate DSP is applied to the copy. The “fixed”copy is then played so that the user can tell what effect application ofthe DSP will have on the target area. Because the changes are made to acopy of the signal, the target area remains unchanged if, based on thepreview, the user decides not to make any changes.

As mentioned above, the action phase of the editing operation isinteractive. Thus, a user may select a first set of elements, cause anediting operation to be performed on the first set, select a second setof elements, cause an editing operation to be performed on the secondset, etc. Because the editing operations do not have to be performed onall of the target areas at the same time, the user may change theparameters used by the editing operations prior to each operation. Forexample, the automatic “fix” operation for pops/clicks may be based oninput parameters that dictate how much information is removed during the“fix”. The user may set the parameter to one setting to fix one of thepop/clicks listed in the Result List, and to a different setting to fixanother of the pop/clicks listed in the Result List.

The Status Field

In the embodiment illustrated in FIG. 3, the Results List includes astatus field. The value within the status field of each elementindicates whether the target area that corresponds to the element hasbeen “fixed”. When the user presses the “fix” control, the appropriateautomated editing operation is executed, and the status field is changedto indicate that the corresponding target area has been fixed.

In some cases, the Results List may be very long. To make the ResultsList easier to use, it is desirable to shorten it by removing entriesthat are no longer of interest to the user. Typically, a user will nolonger be interested in entries that correspond to target areas thathave already been fixed. Therefore, in one embodiment, the Results Listinterface includes a “Clear Fixed” button which, when selected, removesfrom the Results List all entries whose status has been changed to“fixed”.

User Interface Controls

In the preceding description, numerous operations are described whichare activated through user interaction with user interface controls.Specific types of user interface controls are illustrated in theaccompanying drawings. However, the techniques described herein are notlimited to any particular type or set of user interface controls. Aclose-up view of the portion of the signal depiction that corresponds toa selected Result List item may be obtained by: selecting a Magnifybutton, double-clicking the Result List item, right clicking the ResultList item, selecting “Zoom” from a drop down or pop-up menu, etc.

Hardware Overview

FIG. 11 is a block diagram that illustrates a computer system 1100 uponwhich an embodiment of the invention may be implemented. Computer system1100 includes a bus 1102 or other communication mechanism forcommunicating information, and a processor 1104 coupled with bus 1102for processing information. Computer system 1100 also includes a mainmemory 1106, such as a random access memory (RAM) or other dynamicstorage device, coupled to bus 1102 for storing information andinstructions to be executed by processor 1104. Main memory 1106 also maybe used for storing temporary variables or other intermediateinformation during execution of instructions to be executed by processor1104. Computer system 1100 further includes a read only memory (ROM)1108 or other static storage device coupled to bus 1102 for storingstatic information and instructions for processor 1104. A storage device1110, such as a magnetic disk or optical disk, is provided and coupledto bus 1102 for storing information and instructions.

Computer system 1100 may be coupled via bus 1102 to a display 1112, suchas a cathode ray tube (CRT), for displaying information to a computeruser. An input device 1114, including alphanumeric and other keys, iscoupled to bus 1102 for communicating information and command selectionsto processor 1104. Another type of user input device is cursor control1116, such as a mouse, a trackball, or cursor direction keys forcommunicating direction information and command selections to processor1104 and for controlling cursor movement on display 1112. This inputdevice typically has two degrees of freedom in two axes, a first axis(e.g., x) and a second axis (e.g., y), that allows the device to specifypositions in a plane.

The invention is related to the use of computer system 1100 forimplementing the techniques described herein. According to oneembodiment of the invention, those techniques are performed by computersystem 1100 in response to processor 1104 executing one or moresequences of one or more instructions contained in main memory 1106.Such instructions may be read into main memory 1106 from anothermachine-readable medium, such as storage device 1110. Execution of thesequences of instructions contained in main memory 1106 causes processor1104 to perform the process steps described herein. In alternativeembodiments, hard-wired circuitry may be used in place of or incombination with software instructions to implement the invention. Thus,embodiments of the invention are not limited to any specific combinationof hardware circuitry and software.

The term “machine-readable medium” as used herein refers to any mediumthat participates in providing data that causes a machine to operationin a specific fashion. In an embodiment implemented using computersystem 1100, various machine-readable media are involved, for example,in providing instructions to processor 1104 for execution. Such a mediummay take many forms, including but not limited to, non-volatile media,volatile media, and transmission media. Non-volatile media includes, forexample, optical or magnetic disks, such as storage device 1110.Volatile media includes dynamic memory, such as main memory 1106.Transmission media includes coaxial cables, copper wire and fiberoptics, including the wires that comprise bus 1102. Transmission mediacan also take the form of acoustic or light waves, such as thosegenerated during radio-wave and infra-red data communications. All suchmedia must be tangible to enable the instructions carried by the mediato be detected by a physical mechanism that reads the instructions intoa machine.

Common forms of machine-readable media include, for example, a floppydisk, a flexible disk, hard disk, magnetic tape, or any other magneticmedium, a CD-ROM, any other optical medium, punchcards, papertape, anyother physical medium with patterns of holes, a RAM, a PROM, and EPROM,a FLASH-EPROM, any other memory chip or cartridge, a carrier wave asdescribed hereinafter, or any other medium from which a computer canread.

Various forms of machine-readable media may be involved in carrying oneor more sequences of one or more instructions to processor 1104 forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 1100 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 1102. Bus 1102 carries the data tomain memory 1106, from which processor 1104 retrieves and executes theinstructions. The instructions received by main memory 1106 mayoptionally be stored on storage device 1110 either before or afterexecution by processor 1104.

Computer system 1100 also includes a communication interface 1118coupled to bus 1102. Communication interface 1118 provides a two-waydata communication coupling to a network link 1120 that is connected toa local network 1122. For example, communication interface 1118 may bean integrated services digital network (ISDN) card or a modem to providea data communication connection to a corresponding type of telephoneline. As another example, communication interface 1118 may be a localarea network (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface 1118 sends and receiveselectrical, electromagnetic or optical signals that carry digital datastreams representing various types of information.

Network link 1120 typically provides data communication through one ormore networks to other data devices. For example, network link 1120 mayprovide a connection through local network 1122 to a host computer 1124or to data equipment operated by an Internet Service Provider (ISP)1126. ISP 1126 in turn provides data communication services through theworld wide packet data communication network now commonly referred to asthe “Internet” 1128. Local network 1122 and Internet 1128 both useelectrical, electromagnetic or optical signals that carry digital datastreams. The signals through the various networks and the signals onnetwork link 1120 and through communication interface 1118, which carrythe digital data to and from computer system 1100, are exemplary formsof carrier waves transporting the information.

Computer system 1100 can send messages and receive data, includingprogram code, through the network(s), network link 1120 andcommunication interface 1118. In the Internet example, a server 1130might transmit a requested code for an application program throughInternet 1128, ISP 1126, local network 1122 and communication interface1118.

The received code may be executed by processor 1104 as it is received,and/or stored in storage device 1110, or other non-volatile storage forlater execution. In this manner, computer system 1100 may obtainapplication code in the form of a carrier wave.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. Thus, the sole and exclusive indicatorof what is the invention, and is intended by the applicants to be theinvention, is the set of claims that issue from this application, in thespecific form in which such claims issue, including any subsequentcorrection. Any definitions expressly set forth herein for termscontained in such claims shall govern the meaning of such terms as usedin the claims. Hence, no limitation, element, property, feature,advantage or attribute that is not expressly recited in a claim shouldlimit the scope of such claim in any way. The specification and drawingsare, accordingly, to be regarded in an illustrative rather than arestrictive sense.

1. A method for editing signal data that represents a signal, the methodcomprising: analyzing digital signal data to identify a plurality oftarget areas that satisfy selection criteria; after analyzing thedigital signal data and prior to modifying the digital signal data,displaying a user interface that includes a list of list entries;wherein each list entry in the list of list entries corresponds to atarget area in the plurality of target areas; wherein, for each targetarea of the plurality of target areas, the list entry that correspondsto the target area indicates at least one of: (1) whether the targetarea has been modified, wherein one list entry in the list indicatesthat the corresponding target area has been modified and another listentry in the list indicates that the corresponding target area has notbeen modified, or (2) what type of problem has been identified for thetarget area, wherein one list entry in the list identifies a first typeof problem and another list entry in the list identifies a second typeof problem that is different than the first type of problem; receivingfirst input that selects a subset of the list entries in the list; afterreceiving the first input that selects the subset of the list entries inthe list, receiving second input that specifies performance of anediting operation; and in response to receiving the second input thatspecifies performance of the editing operation, performing the editingoperation on one or more target areas that correspond to the subset ofthe list entries in the list; wherein the method is performed by one ormore computing devices.
 2. The method of claim 1 wherein: the step ofreceiving first input that selects a subset of the list entries isperformed by receiving first input that selects only one list entry; andthe step of performing the editing operation on the target areas thatcorrespond to the subset of the list entries is performed by performingthe editing operation on the target area that corresponds to said onelist entry.
 3. The method of claim 2 wherein: the step of analyzing thedigital data includes running a plurality of analysis processes againstthe digital data, wherein each analysis process applies distinctselection criteria; and the editing operation performed on the targetarea that corresponds to said one list entry is automatically selectedbased on which analysis process selected the target area associated withsaid one list entry.
 4. A non-transitory computer-readable mediumstoring instructions which, when executed by one or more processors,causes the performance of the method recited in claim
 3. 5. Anon-transitory computer-readable medium storing instructions which, whenexecuted by one or more processors, causes the performance of the methodrecited in claim
 2. 6. The method of claim 1 wherein the step ofanalyzing the digital data includes running a plurality of analysisprocesses against the digital signal data, wherein each analysis processapplies distinct selection criteria.
 7. A non-transitorycomputer-readable medium storing instructions which, when executed byone or more processors, causes the performance of the method recited inclaim
 6. 8. The method of claim 6 wherein: the subset of list entriesincludes a first list entry that corresponds to a target area selectedby a first analysis process; the subset of list entries includes asecond list entry that corresponds to a target area selected by a secondanalysis process that is different than the first analysis process; andthe step of performing the editing operation on the target areas thatcorrespond to the subset of the list entries includes performing a firsttype of editing operation on the target area selected by the firstanalysis process and performing a second type of editing operation onthe target area selected by the second analysis process.
 9. Anon-transitory computer-readable medium storing instructions which, whenexecuted by one or more processors, causes the performance of the methodrecited in claim
 8. 10. The method of claim 1 wherein: the step ofreceiving second input that specifies performance of an editingoperation includes receiving input that specifies one or more parametervalues to be used in said editing operation; and the step of performingthe editing operation is performed based on said one or more parametervalues.
 11. A non-transitory computer-readable medium storinginstructions which, when executed by one or more processors, causes theperformance of the method recited in claim
 10. 12. The method of claim10 further comprising: receiving third input that selects a secondsubset of the list entries in the list; receiving fourth input thatspecifies performance of a second editing operation; wherein the step ofreceiving fourth input that specifies performance of the second editingoperation includes receiving input that specifies a second set of one ormore parameter values to be used in said editing operation; and based onthe second set of one or more parameter values, performing the secondediting operation on the target areas that correspond to the secondsubset of the list entries.
 13. A non-transitory computer-readablemedium storing instructions which, when executed by one or moreprocessors, causes the performance of the method recited in claim 12.14. The method of claim 1 wherein: the step of receiving first inputthat selects a subset of the list entries in the list is performed byreceiving input that selects a plurality of selected list entries; thestep of analyzing the digital data includes running a plurality ofanalysis processes against the digital data, wherein each analysisprocess applies distinct selection criteria; and the editing operationperformed on each of the target areas that correspond to said pluralityof selected list entries is automatically selected based on whichanalysis process selected the target area associated with said listentry.
 15. A non-transitory computer-readable medium storinginstructions which, when executed by one or more processors, causes theperformance of the method recited in claim
 14. 16. The method of claim 1further comprising the step of displaying a visual depiction of thesignal in which the portions of the signal that correspond to theplurality of target areas are visibly distinguished from the portions ofthe signal that do not correspond to any target areas.
 17. Anon-transitory computer-readable medium storing instructions which, whenexecuted by one or more processors, causes the performance of the methodrecited in claim
 16. 18. The method of claim 1 further comprising, inresponse to certain input, displaying a visual depiction of the portionof the signal that corresponds to the target area associated with aselected list entry.
 19. A non-transitory computer-readable mediumstoring instructions which, when executed by one or more processors,causes the performance of the method recited in claim
 18. 20. The methodof claim 1 further comprising, in response to certain input, performingthe steps of: making a copy of the portion of the signal data thatcorresponds to the target area associated with a selected list entry;and performing an editing operation on the copy to allow a user topreview the effect of the editing operation without modifying theoriginal signal data.
 21. A non-transitory computer-readable mediumstoring instructions which, when executed by one or more processors,causes the performance of the method recited in claim
 20. 22. The methodof claim 1 wherein the signal is an audio signal.
 23. A non-transitorycomputer-readable medium storing instructions which, when executed byone or more processors, causes the performance of the method recited inclaim
 22. 24. The method of claim 22 wherein: the list of list entriesinclude a first list entry that corresponds to a first target area ofthe plurality of target areas and a second list entry that correspondsto a second target area of the plurality of target areas; the first listentry indicates a first channel; and the second list entry indicates asecond channel that is different than the first channel.
 25. Anon-transitory computer-readable medium storing instructions which, whenexecuted by one or more processors, causes the performance of the methodrecited in claim
 24. 26. The method of claim 1 wherein: the list entriesinclude a list entry that corresponds to a particular target area; andthe list entry indicates a location, within the signal, at which theparticular target area begins.
 27. A non-transitory computer-readablemedium storing instructions which, when executed by one or moreprocessors, causes the performance of the method recited in claim 26.28. The method of claim 1 wherein: the list of list entries include afirst list entry that corresponds to a first target area of theplurality of target areas and a second list entry that corresponds to asecond target area of the plurality of target areas; the first listentry indicates a first duration associated with the first target area;and the second list entry indicates a second duration that is associatedwith the second target area and that is different than the firstduration.
 29. A non-transitory computer-readable medium storinginstructions which, when executed by one or more processors, causes theperformance of the method recited in claim
 28. 30. The method of claim 1wherein: a particular target area is selected for inclusion in saidplurality of target areas based on detection of a possible defect withinthe particular target area; the method further comprises, in response touser input, generating a modified version of the particular target area,wherein content of said particular target area that does not correspondto said possible defect has been filtered out of the modified version.31. A non-transitory computer-readable medium storing instructionswhich, when executed by one or more processors, causes the performanceof the method recited in claim
 30. 32. The method of claim 30 wherein:the signal is an audio signal; and the method includes the step ofplaying the modified version of the particular target area.
 33. Anon-transitory computer-readable medium storing instructions which, whenexecuted by one or more processors, causes the performance of the methodrecited in claim
 32. 34. A non-transitory computer-readable mediumstoring instructions which, when executed by one or more processors,causes the performance of the method recited in claim
 1. 35. The methodof claim 1 wherein: the list entries include a first list entry thatcorresponds to a first target area and a second list entry thatcorresponds to a second target area; the first list entry indicates thatthe first target area has been modified; and the second list entryindicates that the second target area has not been modified.
 36. Themethod of claim 35 wherein: the user interface includes a control which,when selected, removes from the results list all list entries that havea particular value in the status field.
 37. A non-transitorycomputer-readable medium storing instructions which, when executed byone or more processors, causes the performance of the method recited inclaim
 36. 38. The method of claim 1, wherein: the list includes a firstlist entry, a second list entry, and a third list entry; the second listentry is between the first list entry and the third list entry in thelist; and the subset includes the first list entry and the third listentry and not the second list entry.
 39. A non-transitorycomputer-readable medium storing instructions which, when executed byone or more processors, causes the performance of the method recited inclaim
 38. 40. The method of claim 1, wherein one of the list entriesrepresents multiple target areas of the plurality of target areas andnone of the target areas of the multiple target areas is represented byanother list entry of the list entries.
 41. A non-transitorycomputer-readable medium storing instructions which, when executed byone or more processors, causes the performance of the method recited inclaim
 40. 42. The method of claim 1, wherein, for each target area ofthe plurality of target areas, the list entry that corresponds to thetarget area indicates what type of problem has been identified for thetarget area, wherein one list entry in the list identifies a first typeof problem and another list entry in the list identifies a second typeof problem that is different than the first type of problem.
 43. Anon-transitory computer-readable medium storing when executed by one ormore processors, causes the performance of the method recited in claim42.
 44. A method for editing signal data that represents a signal, themethod comprising: running a plurality of analysis processes against thesignal data to identify a plurality of target areas that satisfyselection criteria, wherein each analysis process applies distinctselection criteria; receiving first input that selects a first subset ofthe plurality of target areas, wherein the first subset of the pluralityof target areas correspond to a first type of problem; receiving secondinput that selects a second subset of the plurality of target areas thatis different than the first subset, wherein the second subset of theplurality of target areas correspond to a second type of problem that isdifferent than the first type of problem; and in response to a singleactivation of a single graphical element of a user interface, performinga first type of editing operation on the first subset of the pluralityof target areas and performing, on the second subset of the plurality oftarget areas, a second type of editing operation that is different thanthe first type of editing operation; wherein the method is performed byone or more computing devices.
 45. A non-transitory computer-readablemedium storing instructions which, when executed by one or moreprocessors, causes the performance of the method recited in claim 44.46. A method for editing signal data that represents a signal, themethod comprising: analyzing digital signal data to identify a pluralityof not-yet corrected target areas that satisfy selection criteria; afteranalyzing the digital signal data and prior to modifying the digitalsignal data, displaying a user interface that includes a list of listentries, wherein each list entry in the list corresponds to a not-yetcorrected target area in the plurality of not-yet corrected targetareas; wherein the list of list entries includes a particular list entrythat is preceded by one or more first list entries in the list and issucceeded by one or more second list entries in the list; wherein theparticular list entry corresponds to a particular not-yet correctedtarget area of the plurality of not-yet corrected target areas; whereineach list entry of the one or more first list entries corresponds to anot-yet corrected target area of the plurality of not-yet correctedtarget areas; wherein each list entry of the one or more second listentries corresponds to a not-yet corrected target area of the pluralityof not-yet corrected target areas; wherein displaying the user interfacecomprises, prior to modifying the particular not-yet corrected targetarea, displaying the one or more first list entries, the particular listentry, and the one or more second list entries to allow a user to decidewhether to correct the particular not-yet corrected target area based onknowledge about one or more not-yet corrected target areas that occurredbefore the particular not-yet corrected target area in the digitalsignal data and one or more not-yet corrected target areas that occurredafter the particular not-yet corrected target area in the digital signaldata; receiving first input that selects the particular list entry;after receiving the first input that selects the particular list entry,receiving second input that specifies performance of an editingoperation; and in response to receiving the second input that specifiesperformance of the editing operation, performing the editing operationon the not-yet corrected target area that corresponds to the particularlist entry; wherein the method is performed by one or more computingdevices.
 47. A non-transitory computer-readable medium storinginstructions which, when executed by one or more processors, causes theperformance of the method recited in claim 46.